home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 7 / FM Towns Free Software Collection 7.iso / data / nyan_e2 / nyane2_e.plp < prev    next >
Text File  |  1993-11-30  |  20KB  |  815 lines

  1. /**********   送信文書の作成/更新、ダウンロード予約の管理 v1.04a用 **********/
  2.     var IndexLine[82];
  3.     var TarLine[3];
  4.     %FNameTop    logd|{\UP\};
  5.     %IndexFName    FNameTop|{INDEX.TXT};
  6.     %SaveFName    FNameTop|{SAVE.TXT};
  7.  
  8.     %SetDest{
  9.     %BHP{
  10.         var hp2[500];
  11.         var b2[1100];
  12.         hp2:=hp;
  13.         b2:={loop(}|@xc({7b})|
  14.         {select({ HPを選択してください},999,{im({Yes})}};
  15.         loop({
  16.         %hpset    @head(hp2,{,});
  17.         %name    @tail(hpset,{/});
  18.         case(b2<>{},{Yes},{b2:=b2|{,}});
  19.         b2:=b2    |@xc({7b})|{ }|name|{ }|@xc({7d})|{,}
  20.             |@xc({7b})|{ DestHP(}
  21.             |@xc({7b})|name|@xc({7d})|{); im({No}); }
  22.             |@xc({7d});
  23.         hp2:=@body(hp2,{,});
  24.         im(hp2<>{});
  25.         });
  26.         b2:=b2|{,{ 前に戻る },{im({No})} ); footnote({}); }
  27.           |@xc({7d})|{);};
  28.         case(hp={},
  29.         {Yes}, {im({});
  30.         },{No},{im(b2);
  31.         });
  32.     };
  33.     %BPatio{
  34.         var patio2[200];
  35.         var b2[800];
  36.         patio2:=patio;
  37.         b2:={loop(}|@xc({7b})|
  38.         {select({ パティオを選択してください},999,{im({Yes})}};
  39.         loop({
  40.         %patioset  @head(patio2,{,});
  41.         %name    @tail(patioset,{/});
  42.         case(b2<>{},{Yes},{b2:=b2|{,}});
  43.         b2:=b2    |@xc({7b})|{ }|name|{ }|@xc({7d})|{,}
  44.             |@xc({7b})|{ DestPatio(}
  45.             |@xc({7b})|name|@xc({7d})|{); im({No}); }
  46.             |@xc({7d});
  47.         patio2:=@body(patio2,{,});
  48.         im(patio2<>{});
  49.         });
  50.         b2:=b2|{,{ 前に戻る },{im({No})} ); footnote({}); }
  51.           |@xc({7d})|{);};
  52.         case(patio={},
  53.         {Yes}, {im({});
  54.         },{No},{im(b2);
  55.         });
  56.     };
  57.     %BForum{
  58.         var f2[500];
  59.         var b2[1100];
  60.         var rtn2[700];
  61.         f2:=forum;
  62.         rtn2:=rtn;
  63.         b2:={loop(}|@xc({7b})|
  64.         {select({ フォーラムを選択してください},999,{im({Yes})}};
  65.         case(forum<>{},{Yes},{
  66.         loop({
  67.             %fnset    @head(f2,{/});
  68.             %fname    @head(fnset,{(});
  69.             %ccsset    @body(fnset,{(},{)});
  70.             case(b2<>{},{Yes},{b2:=b2|{,}});
  71.             b2:=b2    |@xc({7b})|{ }|fname|{ }|@xc({7d})|{,}
  72.                 |@xc({7b})|{ DestForm(}
  73.                 |@xc({7b})|fname|@xc({7d})|{); im({No}); }
  74.                 |@xc({7d});
  75.             f2:=@body(f2,{/});
  76.             %mae    @head(rtn2,fname);
  77.             %ushiro    @body(rtn2,fname);
  78.             rtn2:=mae|@body(ushiro,{/});
  79.             im(f2<>{});
  80.         });
  81.         });
  82.         case(rtn2<>{},{Yes},{
  83.             loop({
  84.             %fnset    @head(rtn2,{/});
  85.             %fname    @head(fnset,{(});
  86.             case(b2<>{},{Yes},{b2:=b2|{,}});
  87.             b2:=b2    |@xc({7b})|{ }|fname|{ }|@xc({7d})|{,}
  88.                 |@xc({7b})|{ DestForm(}
  89.                 |@xc({7b})|fname|@xc({7d})|{); im({No}); }
  90.                 |@xc({7d});
  91.             rtn2:=@body(rtn2,{/});
  92.             im(rtn2<>{});
  93.             });
  94.         });
  95.         b2:=b2 |{,{ 前に戻る },{im({No})} ); footnote({}); }
  96.             |@xc({7d})|{);};
  97.         case(forum={} && rtn={},
  98.         {Yes}, {im({});
  99.         },{No},{im(b2);
  100.         });
  101.     };
  102.     %BMail{
  103.         var f2[500];
  104.         var b2[1100];
  105.         f2:=forum;
  106.         b2:={loop(} |@xc({7b})|
  107.         {select({ どのアドレスブックを使いますか?},999,{im({Yes})},}
  108.             |@xc({7b})|{ MAIL }|@xc({7d})|{,}
  109.             |@xc({7b})|{ MemLst(}
  110.             |@xc({7b})|{MAIL}|@xc({7d})|{); im({No}); }
  111.             |@xc({7d});
  112.         loop({
  113.         %fnset    @head(f2,{/});
  114.         %fname    @head(fnset,{(});
  115.         %ccsset    @body(fnset,{(},{)});
  116.         case(b2<>{},{Yes},{b2:=b2|{,}});
  117.         b2:=b2    |@xc({7b})|{ }|fname|{ }|@xc({7d})|{,}
  118.             |@xc({7b})|{ MemLst(}
  119.             |@xc({7b})|fname|@xc({7d})|{); im({No}); }
  120.             |@xc({7d});
  121.         f2:=@body(f2,{/});
  122.         im(f2<>{});
  123.         });
  124.         b2:=b2|{); }|@xc({7d})|{);};
  125.         case(forum={},
  126.         {Yes}, {im({});
  127.         },{No},{im(b2);
  128.         });
  129.     };
  130.     %SelHP        @BHP;
  131.     %SelPatio    @BPatio;
  132.     %SelForum    @BForum;
  133.     %SelMail    @BMail;
  134.     %SetHandle{
  135.         var Handle[20];
  136.         Handle:=@head(@getchar(@memo(2,@xlinenum),11,18),{\n});
  137.         loop({
  138.             case(@getchar(Handle,@nochar(Handle),1)={ },
  139.             {Yes},{    Handle:=@body(Handle,,{ }); im({Yes});
  140.             },{No},{
  141.                 case(@getchar(Handle,@nochar(Handle)-1,2)={ },
  142.                 {Yes},{    Handle:=@body(Handle,,{ }); im({Yes});
  143.                 },{No},{im({No});
  144.                 });
  145.             });
  146.         });
  147.         case(Handle,{},{Handle:=@getchar(@memo(2,@xlinenum),1,8)});
  148.         case(@YesNo({ 「}|Handle|{」 氏宛でよろしいですか?}),
  149.         {Yes},{dest:=attr|{:}|@getchar(@memo(2,@xlinenum),1,8)|
  150.                 {         }; im({No});
  151.         },{No},{OutAllMemo; im({Yes});
  152.         });
  153.     };
  154.     %DestMail{[attr]
  155.         %MemLst{[path]
  156.             mclear(2);
  157.             case(@filechk(logd|{\}|path|{\MEMBER.TXT}),
  158.             {Yes}, {mread(logd|{\}|path|{\MEMBER.TXT},2);
  159.             },{No},{madd(2,{});
  160.             });
  161.         };
  162.         %Dmail{
  163.             loop({
  164.             %name @input({ 送信先のIDを入れてください},,{});
  165.             case(@nochar(name)!=8,
  166.             {Yes},{
  167.                 case(name<>{},
  168.                 {Yes},{
  169.                     footnote({「}|name|
  170.                     {」は 英数字8文字でありません});
  171.                     im({Yes});
  172.                 },{No},{
  173.                     footnote({});
  174.                     dest:={};
  175.                     im({No});
  176.                 });
  177.             },{No},{
  178.                 footnote({});
  179.                 dest:=attr|{:}|@getchar(name|{         },1,17);
  180.                 im({No});
  181.             });
  182.             });
  183.         };
  184.         case(@mlast==0,{Yes},{mclear(1); madd(1,{})});
  185.         MemLst({MAIL});
  186.         loop({    mopen(2,0,21,256,459,{w});
  187.             footnote({直入決定変更    終了},{b});
  188.             loop({    waitx(1000);
  189.                 im(@xtype!=2 && @xtype<100 || @xlinenum<0)
  190.             });
  191.             case(@PFK(@xtype),
  192.                 2,{ SetHandle;
  193.             },101,{ Dmail;
  194.             },102,{ SetHandle;
  195.             },103,{    case(forum<>{},
  196.                 {Yes},{
  197.                     mclose(3);
  198.                     loop({
  199.                     SelMail;
  200.                     case(@memo(2)={},
  201.                     {Yes}, {footnote({ 選択されたアドレス}
  202.                         |{ブックは空です});
  203.                     });
  204.                     im(@memo(2)={});
  205.                     });
  206.                 },{No},{OutAllMemo;
  207.                 });
  208.                 im({Yes});
  209.             },105,{ dest:={};
  210.                 im({No});
  211.             },   ,{    OutAllMemo; im({Yes});
  212.             });
  213.             case(@mcheck=2,{Yes},{mclose(3)});
  214.             footnote({});
  215.         });
  216.     };
  217.     %DestHP{[name]
  218.         dest:={HP   :}|@getchar(name|{       },1,8)|{         };
  219.     };
  220.     %DestWPNC{
  221.         %proc    {WPNC};
  222.         MKBMAIL;
  223.     };
  224.     %DestFAX{
  225.         %proc    {FAX};
  226.         MKBMAIL;
  227.     };
  228.     %DestPatio{[name]
  229.         var  org[50];
  230.         loop({
  231.         org :=@input({ コメント先発言番号を入力してください\n}|
  232.             {  コメント先が存在しない時は「空」を入力してください},,{});
  233.         case( org<>{} && (org<1 || org>65000),
  234.         {Yes},{
  235.             footnote({ コメント先がおかしいです});
  236.             dest:={};
  237.         },,{
  238.             footnote({});
  239.             case(@nochar(org), 0,{org:={     }   },
  240.                        1,{org:={0000}|org},
  241.                        2,{org:={000} |org},
  242.                        3,{org:={00}  |org},
  243.                        4,{org:={0}   |org});
  244.             dest:={Patio:}|@getchar(name|{       },1,8)|{/  /}|org;
  245.         });
  246.         im(dest={});
  247.         });
  248.     };
  249.  
  250.     %DestProf{
  251.         dest:={MyPrf:                 };
  252.     };
  253.  
  254.     %DestBul{
  255.         dest:={Forum:}|@getchar(name|{       },1,8)|{/  /BUL  };
  256.     };
  257.  
  258.     %DestMes{
  259.         var boad[2];
  260.         var  org[50];
  261.         %line @memo(1,boadnum,1);
  262.         boad:=@tail(@getchar(line,11,2),{ });
  263.         loop({
  264.         org:=@input({ コメント先発言番号を入力してください\n}|
  265.             {  コメント先が存在しない時は「空」を入力してください},,{});
  266.         case( boad<1 || boad>20 ||
  267.             (org<>{} && (org<1 || org>65000)),
  268.         {Yes},{
  269.             footnote({ 会議室番号, コメント先がおかしいです});
  270.             dest:={};
  271.         },,{
  272.             footnote({});
  273.             case(@nochar(boad),1,{boad:={0}|boad});
  274.             case(@nochar(org), 0,{org:={     }   },
  275.                        1,{org:={0000}|org},
  276.                        2,{org:={000} |org},
  277.                        3,{org:={00}  |org},
  278.                        4,{org:={0}   |org});
  279.             dest:={Forum:}|@getchar(name|{       },1,8)|{/}
  280.                 |boad|{/}|org ; 
  281.         });
  282.         im(dest={});
  283.         });
  284.     };
  285.     %MesList{[name]
  286.         %GoDestMes{
  287.             CloseAllMemo;
  288.             case(boadnum!=1,
  289.             {Yes},{    DestMes;
  290.                 im({No});
  291.             },{No},{im({Yes});
  292.             });
  293.         };
  294.         mclear(1);
  295.         Treq:=name;
  296.         TITLE;
  297.         curline(boadnum);
  298.         loop({
  299.             mopen(1,0,21,639,459,{w});
  300.             footnote({終了選択},{b});
  301.             loop({
  302.                 waitx(1000);
  303.                 im(@xtype!=1 && @PFK(@xtype)<100);
  304.             });
  305.             boadnum:=@xlinenum;
  306.             case(@PFK(@xtype),
  307.                 1,{ GoDestMes;
  308.             },101,{ dest:={};
  309.                 im({No});
  310.             },102,{ GoDestMes;
  311.             },   ,{ im({Yes});
  312.             });
  313.         });
  314.         case(@mcheck!=0,{Yes},{mclose(3)});
  315.         CloseAllMemo;
  316.         mset(1,{n});
  317.         footnote({});
  318.     };
  319.     %DestForm{[name]
  320.         select({ 処理を指定してください},9999,{dest:={};
  321.         },{ 掲 示 板 },{DestBul;
  322.         },{ 会 議 室 },{MesList(name);
  323.         },{ 前に戻る },{dest:={};
  324.         });
  325.     };
  326.  
  327.     %DestBMail{
  328.         %proc    {2進};
  329.         MKBMAIL;
  330.     };
  331.  
  332.     loop({
  333.         select({ 宛先を指示してください},9999,{ dest:={}; im({No});
  334.         },{    メール    },{ setcdir2(logd|{\MAIL});
  335.                      DestMail({Mail });    im({No});
  336.         },{ プロフィール },{ DestProf;    im({No});
  337.         },{ PC-VANメール },{ setcdir2(logd|{\MAIL});
  338.                      DestMail({PCVAN});    im({No});
  339.         },{   H    P   },{ SelHP;    im({No});
  340.         },{   パティオ   },{ SelPatio;    im({No});
  341.         },{  FAX配信  },{ setcdir2(logd|{\MAIL});
  342.                      DestFAX;    im({No});
  343.         },{  フォーラム  },{ SelForum;    im({No});
  344.         },{ バイナリ メール },{ setcdir2(logd|{\MAIL});
  345.                      DestBMail;    im({No});
  346.         },{  WPNCメール  },{ setcdir2(logd|{\MAIL});
  347.                      DestWPNC;    im({No});
  348.         },{   前に戻る   },{ dest:={};    im({No});
  349.         });
  350.     });
  351.     };
  352.  
  353.     %ChgIndex2{[Proc]
  354.     var max[2];
  355.     var now[2];
  356.     var WorkLine[82];
  357.     max:=@nolmemo(1);
  358.     now:={1};
  359.     delfile(SaveFName);
  360.     fopen(IndexFName);
  361.     loop({
  362.         case(max >= now,
  363.         {Yes},{
  364.             WorkLine:=@fread;
  365.             case(TarLine=now,
  366.                 {Yes},{    Proc; im({Yes});
  367.                 },{No},{write(SaveFName,WorkLine); im({Yes});
  368.             });
  369.             now:=now+1;
  370.             im({Yes});
  371.         },{No},{ im({No});
  372.         });
  373.     });
  374.     fclose;
  375.     copyfile(SaveFName,IndexFName);
  376.     case(@read(SaveFName),{},{delfile(IndexFName); delfile(SaveFName)});
  377.     };
  378.  
  379.     %DelDoc{
  380.     ChgIndex({
  381.         %fno @head(@getchar(IndexLine,4,3),{ });
  382.         delfile(FNameTop|{MES}|fno|{.TXT});
  383.     })
  384.     };
  385.  
  386.     %SetDoc{[type]
  387.     ChgIndex({
  388.         IndexLine:=type|@getchar(IndexLine,3,80);
  389.         write(SaveFName,IndexLine);
  390.     })
  391.     };
  392.  
  393.     %SetTDoc{
  394.     var Wtitle2[60];
  395.     %Wtitle  @getchar(IndexLine,32,80);
  396.     Wtitle2:=Wtitle;
  397.     loop({
  398.         Wtitle2:=@input({ 題名を入れてください},,Wtitle2);
  399.         case(@nochar(Wtitle2)>40,
  400.         {Yes},{ footnote({ 題名は, 全角20文字までです});
  401.             im({Yes})
  402.         },{No},{im({No})
  403.         });
  404.     });
  405.     case(Wtitle2<>{} && Wtitle2|{\n}<>Wtitle,{Yes},{
  406.         ChgIndex({
  407.             IndexLine:=@getchar(IndexLine,1,31)|Wtitle2|{\n};
  408.             write(SaveFName,IndexLine);
  409.         })
  410.     })
  411.     };
  412.  
  413.     %SetDDoc{
  414.     var boadnum[3];
  415.     var dest[75];
  416.     boadnum:=0;
  417.     SetDest;
  418.     case(dest<>{} && dest<>@getchar(IndexLine,8,23),{Yes},{
  419.         ChgIndex({
  420.             IndexLine:=@getchar(IndexLine,1,7)|
  421.                 dest|@getchar(IndexLine,31,80);
  422.             write(SaveFName,IndexLine);
  423.         })
  424.     })
  425.     };
  426.  
  427.     %UpdDoc{
  428.     var endtype[3];
  429.     %fno @head(@getchar(IndexLine,4,3),{ });
  430.     %fname   FNameTop|{MES}|fno|{.TXT};
  431.     mclear(2);
  432.     mread(fname,2);
  433.     %kind    {old};
  434.     ARRANGE;
  435.     CloseAllMemo;
  436.     mset(2,{n});
  437.     case(endtype={予},{Yes},{mwrite(fname,2)});
  438.     };
  439.  
  440.     %OneDoc{
  441.     case(IndexLine<>{},{Yes},{
  442.         CloseAllMemo;
  443.         select({ どういう処理を行いますか? :}|
  444.                 @head(@getchar(IndexLine,32,40),{\n})
  445.             ,99999,,
  446.             {  削除する},             {DelDoc},
  447.             {  送信を保留しておく},        {SetDoc({保})},
  448.             {  次回の送信を予約する  },     {SetDoc({予})},
  449.             {  題名を変更する},        {SetTDoc},
  450.             {  あて先を変更する},        {SetDDoc},
  451.             {  文書内容を変更する},        {UpdDoc},
  452.             {  何もしないで戻る},        )
  453.     })
  454.     };
  455.  
  456.     %UpdBMail{
  457.     footnote({ 新しいバイナリファイルを選んでください});
  458.     %next    @filesel;
  459.     case(next<>{},{Yes},{
  460.         %fno    @head(@getchar(IndexLine,4,3),{ });
  461.         copyfile(next,FNameTop|{MES}|fno|{.TXT});
  462.     });
  463.     footnote({});
  464.      };
  465.  
  466.  
  467.     %OneBMail{
  468.     case(IndexLine<>{},{Yes},{
  469.         CloseAllMemo;
  470.         select({ どういう処理を行いますか? :}|
  471.                 @head(@getchar(IndexLine,32,40),{\n})
  472.             ,99999,,
  473.             { 削除する},             {DelDoc},
  474.             { 送信を保留しておく},        {SetDoc({保})},
  475.             { 次回の送信を予約する},     {SetDoc({予})},
  476.             { 題名を変更する},        {SetTDoc},
  477.             { あて先を変更する},        {SetDDoc},
  478.             { 送信ファイルを変更する },    {UpdBMail},
  479.             { 何もしないで戻る},        )
  480.         })
  481.     };
  482.  
  483.     %LibPChg{
  484.     var Forum[8];
  485.     var LibNo[2];
  486.     var DownNo[8];
  487.     var NewForum[8];
  488.     var NewLibNo[2];
  489.     var NewDownNo[8];
  490.     var DownName[60];
  491.     var DispName[15];
  492.     %Getline{[LINE]
  493.         head(@getline(a,LINE,1),{\n});
  494.     };
  495.  
  496.     Forum    :=@head(@getchar(IndexLine,14,8),{ });
  497.     LibNo    :=@getchar(IndexLine,23,2);
  498.     DownNo    :=@getchar(IndexLine,27,4);
  499.     DownName:=@getchar(IndexLine,32,80);
  500.     DispName:=@tail(@getchar(IndexLine,32,80),{\},{\n});
  501.     %a    @plane(
  502.         {c   「}|DispName|{」 の設定を入力してください\n}|
  503.         {c   (英小大文は使わないでください)\n}|
  504.         {t   フォーラム名    /xxxxxxxx\n}|
  505.         {t   ライブラリ番号  /xx\n}|
  506.         {t   ファイル番号   /xxxx\n}|
  507.         {c\n}|
  508.         {s    /    終 了    \n},
  509.         Forum,LibNo,DownNo,
  510.     );
  511.  
  512.     case(@getline(a,4,1)<>{},{Yes},{
  513.         NewForum :=@Getline(1);
  514.         NewLibNo :=@Getline(2);
  515.         NewDownNo:=@Getline(3);
  516.     });
  517.     case(NewForum<>{} && NewLibNo<>{} && NewDownNo<>{},{Yes},{
  518.         case(@nochar(NewLibNo),{1},{NewLibNo:={0}|NewLibNo});
  519.         case(@nochar(NewDownNo),
  520.             {1},{NewDownNo:={000}|NewDownNo},
  521.             {2},{NewDownNo:={00} |NewDownNo},
  522.             {3},{NewDownNo:={0}  |NewDownNo}
  523.         );
  524.         case(NewForum<>Forum || NewLibNo<>LibNo || NewDownNo<>DownNo, 
  525.         {Yes},{
  526.             Forum :=@getchar(NewForum|{       },1,8);
  527.             LibNo :=NewLibNo;
  528.             DownNo:=NewDownNo;
  529.             ChgIndex2({
  530.                 IndexLine:=@getchar(IndexLine,1,13)|
  531.                     @getchar(Forum|{       },1,8)|{/}|
  532.                     LibNo|{/ }|DownNo|{:}|DownName;
  533.                 write(SaveFName,IndexLine);
  534.             })
  535.         });
  536.     });
  537.  
  538.     };
  539.  
  540.     %LibFRen{
  541.     var Wtitle2[50];
  542.     %Wtitle  @head(@getchar(IndexLine,32,80),{\n});
  543.     loop({
  544.         Wtitle2:=@input({ ファイル名を入力してください\n}|
  545.                 { (英小大文は使わないでください)},,Wtitle);
  546.         im(@nochar(@tail(Wtitle2,{\})) > 12);
  547.     });
  548.     case(Wtitle2<>{} && Wtitle2<>Wtitle,{Yes},{
  549.         ChgIndex2({
  550.             IndexLine:=@getchar(IndexLine,1,31)|Wtitle2|{\n};
  551.             write(SaveFName,IndexLine);
  552.         })
  553.     })
  554.     };
  555.  
  556.     %OneLib{
  557.     case(IndexLine<>{},{Yes},{
  558.         CloseAllMemo;
  559.         footnote({});
  560.         select({ どういう処理を行いますか? :}|
  561.                 @head(@getchar(IndexLine,32,40),{\n})
  562.             ,99999,,
  563.             {削除する},             {ChgIndex2({})},
  564.             {受信予約を保留する},        {SetDoc({保})},
  565.             {データの受信予約をする},     {SetDoc({予})},
  566.             {補足説明のみ受信予約する},    {SetDoc({説})},
  567.             {データ存在場所を変更する},    {LibPChg},
  568.             {受信ファイル名を変更する},    {LibFRen},
  569.             {何もしないで戻る }
  570.         )
  571.         })
  572.     };
  573.  
  574.     %OneProf{
  575.     case(IndexLine<>{},{Yes},{
  576.         CloseAllMemo;
  577.         footnote({});
  578.         select({ どういう処理を行いますか? :}|
  579.                 @head(@getchar(IndexLine,32,40),{\n})
  580.             ,99999,,
  581.             {削除する},             {ChgIndex2({})},
  582.             {受信予約を保留する},        {SetDoc({保})},
  583.             {データの受信予約をする},     {SetDoc({予})},
  584.             {ハンドル名を変更する},        {SetTDoc},
  585.             {何もしないで戻る }
  586.         )
  587.         })
  588.     };
  589.  
  590.     %OneRead{
  591.     case(IndexLine<>{},{Yes},{
  592.         CloseAllMemo;
  593.         footnote({});
  594.         select({ どういう処理を行いますか? :}|
  595.                 @head(@getchar(IndexLine,32,40),{\n})
  596.             ,99999,,
  597.             {削除する},             {DelDoc},
  598.             {受信予約を保留する},        {SetDoc({保})},
  599.             {データの受信予約をする},     {SetDoc({予})},
  600.             {受信予約内容を変更する},    {UpdDoc},
  601.             {何もしないで戻る }
  602.         )
  603.         })
  604.     };
  605.  
  606.     %OneList{
  607.     case(IndexLine<>{},{Yes},{
  608.         CloseAllMemo;
  609.         footnote({});
  610.         select({ ライブラリリストの受信を取りやめます},9999,{
  611.         },{ O K },{ChgIndex2({});
  612.         },{ N G }
  613.         );
  614.     });
  615.     };
  616.  
  617.     %SelectHead{
  618.     case(@im(HeadSign),
  619.         {LIB },{OneLib},
  620.         {List},{OneList},
  621.         {BMai},{OneBMail},
  622.         {Prof},{OneProf},
  623.         {RTN },{OneProf},
  624.         {Read},{OneRead},
  625.               ,{OneDoc}
  626.     );
  627.     };
  628.  
  629.     %PlusList{
  630.     CloseAllMemo;
  631.     delfile(SaveFName);
  632.     IndexLine:={覧     List :ライブラリ一覧\n};
  633.     write(IndexFName,IndexLine);
  634.     };
  635.  
  636.     %PrePlusList{
  637.     var IndexLine[82];
  638.     case(@fopen(IndexFName),
  639.     {Yes},{
  640.         IndexLine:=@fread(1,{覧});
  641.         fclose;
  642.         case(@getchar(IndexLine,1,2)={覧},
  643.         {Yes},{    select({ 既に予約されています},5,,{ OK? });
  644.         },{No},{case(@YesNo({ ライブラリリストの受信予約をします}),
  645.                 {Yes},{PlusList});
  646.         });
  647.     },{No},{
  648.         case(@YesNo({ ライブラリリストの受信予約をします}),
  649.             {Yes},{PlusList});
  650.     });
  651.     };
  652.  
  653.     %OldDoc{
  654.     var HeadSign[4];
  655.     case(@filechk(IndexFName),
  656.     {No},{    select({ 作成済の送信文書がありません},20,,{  確認  });
  657.     },{Yes},{
  658.         loop({
  659.           case(@mcheck,1,{mclose(1)});
  660.           mclear(1);
  661.           mread(IndexFName,1);
  662.           mopen(1,0,21,639,459,{w});
  663.           footnote({終了選択        一覧},{b});
  664.           loop({ waitx(1000);
  665.              im(@xtype!=1 && @xtype<100 || @xlinenum<0)
  666.           });
  667.           TarLine:=@xlinenum;
  668.           IndexLine:=@memo(1,@xlinenum,1);
  669.           HeadSign:=@getchar(IndexLine,8,4);
  670.           case(@PFK(@xtype),
  671.               1,{ SelectHead; im(@filechk(IndexFName))},
  672.             101,{ im({No})},
  673.             102,{ SelectHead; im(@filechk(IndexFName))},
  674.             105,{ PlusList; im({Yes})},
  675.                ,{ CloseAllMemo; im({Yes})}
  676.           );
  677.         });
  678.         case(@mcheck!=0,{Yes},{mclose(3)});
  679.         CloseAllMemo;
  680.         mset(2,{n});
  681.         mset(1,{n});
  682.         footnote({});
  683.     })
  684.     };
  685.  
  686.     %NewDoc2{[Dest]
  687.     var fno[10];
  688.     var endtype[3];
  689.     %prof logd|{\UP\PROFILE.TXT};
  690.     madd(1,{});
  691.     mclear(2);
  692.     case(@getchar(Dest,1,5)={MyPrf} && @filechk(prof),
  693.     {Yes}, {mread(prof,2);
  694.     },{No},{madd(2,{});
  695.     });
  696.     case(@getchar(Dest,1,4)={Mail},{Yes},{
  697.         %tardata    @head(@getchar(dest,7,8),{ });
  698.         case(@SelHandle<>{} && @body(Handle,,{/})<>{},{Yes},{
  699.             madd(2,{FROM:}|@SelHandle|{\n})});
  700.     });
  701.     case(@getchar(Dest,1,4),
  702.     {WPNC},{  madd(2,{SUB:}|Title|{\n\n});
  703.     },{FAX },{madd(2,{SUBJ:}|Title|{\n\n});
  704.     });
  705.  
  706.     %kind    {new};
  707.     ARRANGE;
  708.     footnote({});
  709.     CloseAllMemo;
  710.     mset(2,{n});
  711.     case( endtype={予} || endtype={保},{Yes},{
  712.         fno:=0;
  713.         mkdir(logd,{UP});
  714.         loop({ fno:=fno+1;
  715.             filechk(FNameTop|{MES}|fno|{.txt})
  716.         });
  717.         fno:=@getchar(fno|{   },1,3);
  718.         case(@getchar(Dest,1,4)<>{WPNC} && @getchar(Dest,1,4)<>{FAX },
  719.         {Yes},{    IndexLine:=endtype|{ }|fno|{ }|Dest|{:}|Title|{\n};
  720.         },{No},{IndexLine:=endtype|{ }|fno|{ }|Dest|{\n};
  721.         });
  722.         write(IndexFName,IndexLine);
  723.         %fname   FNameTop|{MES}|fno|{.TXT};
  724.         mwrite(fname,2);
  725.     });
  726.     
  727.     };
  728.  
  729.     %NewDoc{
  730.     var Title[82];
  731.     var boadnum[3];
  732.     var dest[75];
  733.     var Bmail[15];
  734.     var BmailDir[80];
  735.     var YourHandle[20];
  736.  
  737.     loop({
  738.         SetDest;
  739.         case(dest<>{},
  740.         {Yes},{
  741.             case(@getchar(dest,1,4)<>{MyPr},
  742.             {Yes}, {
  743.             YourHandle:={};
  744.             case(@getchar(dest,1,4)={HP  },{Yes},{
  745.                 %tardata    @head(@getchar(dest,7,8),{ });
  746.                 case(@SelHandle<>{},{Yes},{
  747.                         case( InsHan,
  748.                     {HEAD},{YourHandle:=@SelHandle|{:}|
  749.                             YourHandle},
  750.                     {TAIL},{YourHandle:=YourHandle|{<}|
  751.                             @SelHandle}
  752.                     );
  753.                 });
  754.             });
  755.             Title:=YourHandle;
  756.             loop({
  757.                 Title:=@input({ 題名を入れてください},,Title);
  758.                 case(@nochar(Title)>40,{Yes},{
  759.                 footnote({ 題名は, 全角20文字までです});
  760.                 im({Yes})
  761.                 },,{im({No})
  762.                 });
  763.             });
  764.             case(@getchar(Title,@nochar(Title)-1,2),
  765.                 {能},{    Title:=Title|{ }
  766.             });
  767.             footnote({});
  768.             },{No},{
  769.             Title:={プロフィール};
  770.             });
  771.             case(Title<>{} && @getchar(dest,1,5)<>{BMail},
  772.             {Yes},{NewDoc2(dest);
  773.             },{No},{
  774.             case(@getchar(dest,1,5),{BMail},{
  775.                 %proc    {2進2};
  776.                 MKBMAIL;
  777.             });
  778.             });
  779.         });
  780.         footnote({});
  781.         im(dest<>{});
  782.     });
  783.     };
  784.  
  785.     %SetDown{
  786.     loop({
  787.         select({ どういう処理を行いますか?},99999,{im({No})
  788. /*            },{      発言番号の直接入力      },{
  789.                 %proc {READ};    SETLIB;    im({Yes});*/
  790.             },{      指定発言取得の設定      },{
  791.                 case(rtn<>{},{Yes},{
  792.                     setcdir2(current);
  793.                     READ; im({Yes});
  794.                 });
  795.             },{      プロフィールの取得      },{
  796.                 SETPROF; im({Yes});
  797.             },{    直接入力による受信予約    },{
  798.                 %proc {手動};    SETLIB;    im({Yes});
  799.             },{    一覧表示による受信予約    },{
  800.                 %proc {選択};    SETLIB;    im({Yes});
  801.             },{        メニューに戻る        },{im({No});
  802.         });
  803.     });
  804.     };
  805.  
  806.     loop({
  807.     select({ どういう処理を行いますか?}
  808.         ,99999,{im({No})},
  809.         {    既存の送受信設定の再処理    },{OldDoc; im({Yes})},
  810.         {     ライブラリリストの取得     },{PrePlusList; im({Yes})},
  811.         {       ダウンロードの設定       },{SetDown; im({Yes})},
  812.         {      新しい送信文書の作成      },{NewDoc; im({Yes})},
  813.         {      メインメニューに戻る      },{im({No})})
  814.     });
  815.